Extract filename and extension from a string in Bash #!/bin/bash filepath="/home/user/requirements.updated.txt" filename_with_ext=$(basename "$filepath") filename="${filename_with_ext%.*}" extension="${filename_with_ext##*.}" echo "Path: $filepath" echo "Filename with extension: $filename_with_ext" echo "Filename without extension: $filename" echo "File extension: $extension"